home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 January: Mac OS SDK / Dev.CD Jan 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / PInterfaces / Retrace.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  2.7 KB  |  116 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Retrace.p
  3.  
  4.      Contains:    Vertical Retrace Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1985-1993, 1995-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT Retrace;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __RETRACE__}
  27. {$SETC __RETRACE__ := 1}
  28.  
  29. {$I+}
  30. {$SETC RetraceIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __MACTYPES__}
  34. {$I MacTypes.p}
  35. {$ENDC}
  36. {$IFC UNDEFINED __OSUTILS__}
  37. {$I OSUtils.p}
  38. {$ENDC}
  39.  
  40.  
  41. {$PUSH}
  42. {$ALIGN MAC68K}
  43. {$LibExport+}
  44.  
  45.  
  46. TYPE
  47.     VBLTaskPtr = ^VBLTask;
  48. {$IFC TYPED_FUNCTION_POINTERS}
  49.     VBLProcPtr = PROCEDURE(vblTaskPtr: VBLTaskPtr);
  50. {$ELSEC}
  51.     VBLProcPtr = Register68kProcPtr;
  52. {$ENDC}
  53.  
  54.     VBLUPP = UniversalProcPtr;
  55.     VBLTask = RECORD
  56.         qLink:                    QElemPtr;
  57.         qType:                    INTEGER;
  58.         vblAddr:                VBLUPP;
  59.         vblCount:                INTEGER;
  60.         vblPhase:                INTEGER;
  61.     END;
  62.  
  63.  
  64. CONST
  65.     uppVBLProcInfo = $00009802;
  66.  
  67. FUNCTION NewVBLProc(userRoutine: VBLProcPtr): VBLUPP;
  68.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  69.     INLINE $2E9F;
  70.     {$ENDC}
  71.  
  72. PROCEDURE CallVBLProc(vblTaskPtr: VBLTaskPtr; userRoutine: VBLUPP);
  73.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  74.     {To be implemented:  Glue to move parameters into registers.}
  75.     {$ENDC}
  76. FUNCTION GetVBLQHdr: QHdrPtr;
  77.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  78.     INLINE $2EBC, $0000, $0160;
  79.     {$ENDC}
  80. FUNCTION SlotVInstall(vblBlockPtr: QElemPtr; theSlot: INTEGER): OSErr;
  81.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  82.     INLINE $301F, $205F, $A06F, $3E80;
  83.     {$ENDC}
  84. FUNCTION SlotVRemove(vblBlockPtr: QElemPtr; theSlot: INTEGER): OSErr;
  85.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  86.     INLINE $301F, $205F, $A070, $3E80;
  87.     {$ENDC}
  88. FUNCTION AttachVBL(theSlot: INTEGER): OSErr;
  89.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  90.     INLINE $301F, $A071, $3E80;
  91.     {$ENDC}
  92. FUNCTION DoVBLTask(theSlot: INTEGER): OSErr;
  93.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  94.     INLINE $301F, $A072, $3E80;
  95.     {$ENDC}
  96. FUNCTION VInstall(vblTaskPtr: QElemPtr): OSErr;
  97.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  98.     INLINE $205F, $A033, $3E80;
  99.     {$ENDC}
  100. FUNCTION VRemove(vblTaskPtr: QElemPtr): OSErr;
  101.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  102.     INLINE $205F, $A034, $3E80;
  103.     {$ENDC}
  104.  
  105.  
  106. {$ALIGN RESET}
  107. {$POP}
  108.  
  109. {$SETC UsingIncludes := RetraceIncludes}
  110.  
  111. {$ENDC} {__RETRACE__}
  112.  
  113. {$IFC NOT UsingIncludes}
  114.  END.
  115. {$ENDC}
  116.